/**
 * Copyright &copy; 2012-2014 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package cn.apestar.modules.report.paymentorder.entity;

import cn.apestar.common.persistence.DataEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.validator.constraints.Length;

import java.util.Date;

/**
 * 充值记录报表Entity
 *
 * @author yudw
 * @version 2016-10-11
 */
public class PaymentOrder extends DataEntity<PaymentOrder> {

    private static final long serialVersionUID = 1L;

    private String orderNo; // 订单号

    private String orderType; // 订单类型

    private String status; // 订单状态

    private String remark; // 备注

    private String platformOrderNo; // 支付平台订单号

    private String platformType; // 支付平台类型

    private Date platformPayTime; // 支付平台支付时间

    private String moneyOrig; // 原始订单金额

    private String moneyReal; // 实际订单金额

    private String buyerId; // 买家ID，微信openid, 买家支付宝用户号

    private String merchatId; // 卖家ID，微信mch_id，卖家支付宝用户号

    private Date expireTime; // 订单过期时间

    private Date notifyTime; // 平台回调时间

    private String sumMoney; // 金额总数

    public String getSumMoney() {
        return sumMoney;
    }

    public void setSumMoney(String sumMoney) {
        this.sumMoney = sumMoney;
    }

    public PaymentOrder() {
        super();
    }

    public PaymentOrder(String id) {
        super(id);
    }

    @Length(min = 1, max = 50, message = "订单号长度必须介于 1 和 50 之间") public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getOrderType() {
        return orderType;
    }

    public void setOrderType(String orderType) {
        this.orderType = orderType;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Length(min = 1, max = 50, message = "备注长度必须介于 1 和 50 之间") public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Length(min = 0, max = 50, message = "支付平台订单号长度必须介于 0 和 50 之间")
    public String getPlatformOrderNo() {
        return platformOrderNo;
    }

    public void setPlatformOrderNo(String platformOrderNo) {
        this.platformOrderNo = platformOrderNo;
    }

    public String getPlatformType() {
        return platformType;
    }

    public void setPlatformType(String platformType) {
        this.platformType = platformType;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public Date getPlatformPayTime() {
        return platformPayTime;
    }

    public void setPlatformPayTime(Date platformPayTime) {
        this.platformPayTime = platformPayTime;
    }

    public String getMoneyOrig() {
        return moneyOrig;
    }

    public void setMoneyOrig(String moneyOrig) {
        this.moneyOrig = moneyOrig;
    }

    public String getMoneyReal() {
        return moneyReal;
    }

    public void setMoneyReal(String moneyReal) {
        this.moneyReal = moneyReal;
    }

    @Length(min = 0, max = 50, message = "买家ID，微信openid,	买家支付宝用户号长度必须介于 0 和 50 之间")
    public String getBuyerId() {
        return buyerId;
    }

    public void setBuyerId(String buyerId) {
        this.buyerId = buyerId;
    }

    @Length(min = 0, max = 50, message = "卖家ID，微信mch_id，卖家支付宝用户号长度必须介于 0 和 50 之间")
    public String getMerchatId() {
        return merchatId;
    }

    public void setMerchatId(String merchatId) {
        this.merchatId = merchatId;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") public Date getExpireTime() {
        return expireTime;
    }

    public void setExpireTime(Date expireTime) {
        this.expireTime = expireTime;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") public Date getNotifyTime() {
        return notifyTime;
    }

    public void setNotifyTime(Date notifyTime) {
        this.notifyTime = notifyTime;
    }

}